﻿Public MustInherit Class HeroObj
    Inherits GamePiece

#Region " Properites and Members "

    Protected _maxHealth As Short
    Protected _move As Short
    Protected _meleeSkill As Short
    Protected _rangedSkill As Short
    Protected _strength As Short
    Protected _endurance As Short
    Protected _wit As Short
    Protected _attacks As Short
    Protected _pinning As Short
    Protected _luck As Short
    Protected _damage As Short

    Public Property Name As String
    Public Property HeroClassId As Short
    Public Property Level As Short

    Public Property MaxHealth As Short
        Get
            Return _maxHealth 'todo: plus items, current bonuses
        End Get
        Set(ByVal value As Short)
            _maxHealth = value
        End Set
    End Property

    Public Property CurrentHealth As Short

    Public Property Move As Short
        Get
            Return _move 'todo: plus items, current bonuses
        End Get
        Set(ByVal value As Short)
            _move = value
        End Set
    End Property

    Public Property MeleeSkill As Short
        Get
            Return _meleeSkill 'todo: plus items, current bonuses
        End Get
        Set(ByVal value As Short)
            _meleeSkill = value
        End Set
    End Property

    Public Property RangedSkill As Short
        Get
            Return _rangedSkill 'todo: plus items, current bonuses
        End Get
        Set(ByVal value As Short)
            _rangedSkill = value
        End Set
    End Property

    Public Property Strength As Short
        Get
            Return _strength 'todo: plus items, current bonuses
        End Get
        Set(ByVal value As Short)
            _strength = value
        End Set
    End Property

    Public Property Endurance As Short
        Get
            Return _endurance 'todo: plus items, current bonuses
        End Get
        Set(ByVal value As Short)
            _endurance = value
        End Set
    End Property

    Public Property Wit As Short
        Get
            Return _wit 'todo: plus items, current bonuses
        End Get
        Set(ByVal value As Short)
            _wit = value
        End Set
    End Property

    Public Property Attacks As Short
        Get
            Return _attacks 'todo: plus items, current bonuses
        End Get
        Set(ByVal value As Short)
            _attacks = value
        End Set
    End Property

    Public Property Pinning As Short
        Get
            Return _pinning 'todo: plus items, current bonuses
        End Get
        Set(ByVal value As Short)
            _pinning = value
        End Set
    End Property

    Public Property Luck As Short
        Get
            Return _luck 'todo: plus items, current bonuses
        End Get
        Set(ByVal value As Short)
            _luck = value
        End Set
    End Property

    Public Property Damage As Short
        Get
            Return _damage 'todo: plus items, current bonuses
        End Get
        Set(ByVal value As Short)
            _damage = value
        End Set
    End Property

    Public Property Gold As Short

    Public Property ArmorValue As Short

#End Region

#Region " Must Override "

    Public MustOverride Function GenerateName() As String

#End Region

End Class
